The evolution of the computer industry is unparalleled in its rate of growth and complexity. Personal computers, for example, which began as little more than feeble calculators with limited memory, tape-driven input and monochrome displays are now able to tackle almost any data processing task. While this meteoric increase in power was almost sufficient to satisfy the demand of application designers and end users alike, the corresponding increase in complexity created an ease-of-use problem which the industry was somewhat slower in solving. Thus, designers were faced with a new challenge: to harness this computing power in a form usable by even those with relatively little computer training to smooth the transition of other industries into a computer-based information paradigm.
As a result, in the early to mid-1980's many new I/O philosophies, such as “user friendly”, “WYSIWYG” and “menu driven” came to the forefront of the industry. These concepts are particularly applicable to microcomputers, also known as personal computers, which are intended to appeal to a broad audience of computer users, including those who previously feared and mistrusted computers. An important aspect of computers which employ these concepts was, and continues to be, the interface which allows the user to input commands and data and receive results, which is commonly referred to as a graphical user interface (GUI).
The success of this type of interface is evident from the number of companies which have emulated the desktop environment. Even successful concepts, however, must continually be improved in order to keep pace with the rapid growth in this industry. The advent of multimedia, especially CD-ROM devices, has provided vast quantities of secondary storage which have been used to provide video capabilities, e.g., live animation and video clips, as regular components of application displays. With these and other new resources at their disposal, application designers and users alike, demand additional functionality and greater ease of use from the desktop environment.
Today it is hard to imagine an operating system or application which does not provide a GUI. A system's or application's GUI along with the other man machine interface (MMI) elements is often referred to as its “look and feel.” Accordingly, developers of today's applications typically use the control elements of the operating system or platform GUI, adding their own GUI elements and ideas, to differentiate their application from other, competing applications being developed. Elements of a GUI include such things as windows, menus, lists, buttons, scroll bars, icons, pointers, etc. Two well known GUI control elements are the “pop-up menu” and “list box”, both of which have advantages and disadvantages which are discussed below.
An exemplary GUI control element commonly referred to as a list box is shown in FIG. 1. The list box control element generally requires the specification of the number of visible rows in a viewing area 100. The number of visible rows specified does not limit the number of possible entries which can be displayed within the list box, rather it affects the height of the displayed list box. If more entries are entered (i.e., more data is to be presented to the user) than can be displayed in the viewing area 100 of the list box, then a scroll bar 101 is automatically created. The scroll bar 101 permits the user to traverse all the entries in the list box by moving the slider element 102. The list box control element has the advantage of permitting presentation of multiple entries simultaneously and the immediate interaction with those displayed entries. However, the list box control element has the drawback that the display of multiple entries using the conventional list box can require a lot of space on the GUI.
An example of another GUI control element, commonly referred to as a pop-up menu, is shown in FIG. 2. The pop-up menu, unlike the list box, does not require a specification as to the number of visible rows. In the pop-up menu control element, the amount of data to be presented determines the number of visible rows. However, as shown on the left-had side of FIG. 2, the pop-up menu, unlike the list box, typically operates in a default state to show a single selection 203 with an indicator 202 that informs the GUI user that other entries can be displayed when the user interacts with the menu. For example, the user can “pop-up” the list of entries 204 by clicking the triangle icon 202 on the menu 200 with the cursor via a mouse. Pop-up menus require minimal amount of display space in their default state. However, they require additional operations by the user in order to display and interact with the data to be presented and they are not convenient for large amounts of data.
Accordingly, as part of the continued evolution of GUIs generally, there exists a need for a new GUI control elements which optimally use the available space for displaying items to the user.